Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@balena/odata-parser
Advanced tools
An OData parser written in OMeta.
OData is a protocol build on top of REST and HTTP, it's goal is to provide a uniform and reliable way to access and navigate resources.
For a full specification of the protocol refer to this link
This module is a part of the odata-compiler
The parser takes an input string representing the odata request and returns an object {tree, binds}
if the parse is successful.
Imagine wanting the access a resource which is stored at as a depth two child of some other resource, the corresponding odata query would be something like /parent/child/granchild
This string is parsed into a tree where every intermediate resource is a node, each node contains the following properties
$links
option$count
option was specified for the resourceThe binds array contains all the reference to primitive values contained in the odata request, example of such primitive values are: Reals, Booleans, Dates, Text, ecc.
These binds are stored in the binds array and are referenced in the tree by the integer index where the bind resides in this array.
input: /model
output:
{ tree:
{ resource: 'model',
key: undefined,
link: undefined,
property: undefined,
count: undefined,
options: undefined }
input: /model(1)/child
output:
{ tree:
{ resource: 'model',
key: { bind: 0 },
link: undefined,
property:
{ resource: 'child',
key: undefined,
link: undefined,
property: undefined,
count: undefined,
options: undefined },
count: undefined,
options: undefined },
binds: [ [ 'Real', 1 ] ] }
input: /model/$count?$filter=id gt 5
output:
{ tree:
{ resource: 'model',
key: undefined,
link: undefined,
property: undefined,
count: true,
options: { '$filter': [ 'gt', { name: 'id', property: undefined }, { bind: 0 } ] } },
binds: [ [ 'Real', 5 ] ] }
Tests can be found under the test/
folder, to run the whole suite use
npm test
v2.5.0
FAQs
An OData parser written in OMeta
The npm package @balena/odata-parser receives a total of 3,435 weekly downloads. As such, @balena/odata-parser popularity was classified as popular.
We found that @balena/odata-parser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.